Kylin Committer|努力用代码改变世界的初晓
滴滴出行从 2016 年开始使用 Kylin,从 Livy 集成到利用 Hive 构建全局字典 V1、全局字典 V2,滴滴不断利用自己的场景实践回馈社区,帮助 Kylin 变得更加稳定,功能更加丰富。在 Kylin 开源社区就隐藏着许多来自滴滴出行的“大佬”,初晓就是其中的一员。
在 12 月 19 日举办的 Kylin 5 周年庆典中,Kylin 为社区发展做出贡献的一批小伙伴颁发了奖项,初晓不仅代表滴滴出行发表了最佳应用奖的获奖感言,个人也获得了 Kylin Excellent Committer 的荣誉,让我们一起来看看初晓在 Kylin 的贡献历程吧!
初晓,Kylin 社区新晋 Committer 一枚,现就职于滴滴出行的大数据架构部,专注于大数据 OLAP 引擎的建设,他发布的《10 分钟了解 Apache Kylin(业务篇)》在 Kylin 社区备受好评。
让我们掌声欢迎初晓同学👏
Q
请简单介绍一下自己?
初晓:大数据部门的顶梁柱,按身高排序 🤓
曾在大数据创业公司、阿里巴巴云计算事业部从事大数据产品的开发工作,目前在滴滴出行的大数据架构部专注于大数据 OLAP 引擎的建设。
盖洛普优势才干: 和谐,分析,思维,学习。确认过眼神,OLAP 是我的菜。
Q
您是如何成为 Kylin 社区贡献者的?
初晓:在滴滴做了一段时间的 HBase 和 Phoenix 引擎的平台建设。19 年年中的时候,部门接手了 Kylin 引擎。我自己对数据分析很有兴趣,也有一些 Hadoop/Spark 的技术底子,就开始了自己 OLAP 引擎的“砖家”之旅😁
2019 年的 9 月 10 号,星期二,易修造动土,给 Kylin 社区提交了第一个 PR ^_^。亚倩同学测试验证,春恩同学指导我将 patch 信息和 GitHub 账户关联并合并,从此我也是开源社区的 “contributor” 了😁
到目前为止,给社区提交了大概 40 个 PR,接收了 大概 30 个。有时内部改动没有及时提交给社区,想提交时已经有别人解决了😂 所以同学们,提交 PR 一定要尽早啊。
Q
加入 Kylin 社区有什么收获?
初晓:加入社区最让我开心的是自己的努力有机会惠及全世界的使用者,但要坚持做到这一点不容易。
这迫使自己解决问题时不能仅仅“让用户换个用法绕过”,“加一段业务 hard code”,必须想的更深入一些,考虑清楚问题的本质是什么,能否提炼出通用的解决方案。
相比单纯 case by case 的解决问题,自己在这个过程中也收获了更多。慢慢的,考虑问题不仅仅着眼于技术本身,也开始考虑领域,上下游的建设了。
Q
贡献的过程中遇到最困难的地方是什么?
初晓:提交元数据读写的重构优化给社区。这个优化可以让 Kylin 集群具备支持 1 万+ Cube 的能力,已在公司内部得到验证。
由于重构的改动面很广,有 200 多个现有 UT 失败,需要慢慢梳理解决才能贡献给社区。
Q
在开源 OLAP 领域,目前 Kylin 遇到的挑战和优势是什么?
初晓:Kylin 的优势是精准去重场景的查询速度,应该是业内最快的。跟 MPP 架构的其他产品相比,能够更稳定的支持更高并发,特别适合 B2B 的数据分析场景,比如平台给商家商户、厂家提供数据分析服务。
挑战我认为主要是产品定位的局限。前不久听到一段话觉得很有道理,“数据分析是百亿的市场,而数据营销是万亿的市场,应该在更大的市场里找寻自己的位置”。
要让数据分析产生更大的价值,支持决策,营销,产品快速迭代,就不仅仅是单一 Kylin 所能解决的, Kylin 需要提供更强的基础能力,来支持 OLAP 上下游体系的建立。
比如在滴滴,运营和分析师需要能够快速建模验证灵光闪现的点子,不仅仅要求查询快,还要求建模快,建模多。
遇到的挑战是当 Cube 超过三千后,元数据的更新会显著影响查询和构建速度,需要拆集群来应对。这也是我前不久刚完成的工作-重构元数据读写和二级缓存代码,查询响应时间低优先,支持二级缓存局部更新,使单个项目能够支持 1 万个 Cube 的随时更新。
Q
下一步的贡献计划?
初晓:把重构元数据读写的代码修改完 UT,贡献给社区。接下来准备优化 Cube 构建速度。重点是加速高基全局字典的构建速度,以及大量小 Cube 的构建速度。前者可以稳固 Kylin 在精准去重场景的优势,后者可以使分析师的灵光闪现能够更快速的建模验证。
在 OLAP 领域,快就是正义,就是王道。
Q
对想加入 Kylin 社区或成为 Kylin 贡献者的开发者,您有什么建议?
初晓:在成为开源社区 Committer 之前,首先要问自己为什么想成为 Committer?开源,是为了更好地改变这个世界。Committer 的身份,是为了让我们的努力可以惠及到更多的开源使用者。借机分享一篇之前写的文章《如何成为开源社区 committer》。我从如何起步,代码通用性原则,善用工具,提高影响力,提高英语水平和建立联系等方面,总结了自己加入 Kylin 社区的心得体会,希望对大家有帮助。
听了初晓同学的分享,你是不是也心动了?快点加入 Kylin 开源社区,为 Kylin 发展做出自己的贡献吧!你的贡献可能会被 Kylin 全世界的用户看到哦!
往期文章分享
如何向 Apache Kylin 贡献并成为 Committer?
把 Kylin 迁移至 Kubernetes 背后的人是谁?
点击“阅读原文”,加入 Apache Kylin 社区